package com.vue3.blog.domain.dto;

import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.Size;
import java.io.Serializable;

/**
 * @author Mr.小朱同学
 * @version 1.0.0
 * @date 2025/6/9 19:21
 * @description 新增、编辑文章DTO
 */
@Data
public class ArticleDTO implements Serializable {
    /**
     * 文章唯一标识（主键）
     */
    private Long id;
    /**
     * 文章标题
     */
    @Size(max = 100, message = "标题长度不能超过100个字符")
    @NotEmpty(message = "文章标题不能为空")
    private String title;
    /**
     * 文章简介
     */
    @Size(max = 255, message = "简介长度不能超过255个字符")
    @NotBlank(message = "文章简介不能为空")
    private String brief;
    /**
     * 文章封面（图片地址）
     */
    private String coverImage;
    /**
     * 文章内容
     */
    @NotBlank(message = "文章内容不能为空")
    private String content;
    /**
     * 文章分类ID
     */
    private Long categoryId;
    /**
     * 文章状态（0-草稿，1-已发布，2-已删除）
     */
    private Integer status;
}